Optimized Lock Assignment and Allocation for Productivity: A Method for Exploiting Concurrency among Critical Sections

نویسندگان

  • Yuan Zhang
  • Vugranam C. Sreedhar
  • Weirong Zhu
  • Vivek Sarkar
  • Guang R. Gao
چکیده

One of the major productivity issues in parallel programming arises from the use of lock/unlock operations or atomic/critical sections to enforce mutual exclusion. Not only are these constructs complicated to understand and debug, but they are also often an impediment to achieving scalable parallelism. In this paper, we propose to give the programmer the convenience of critical sections combined with the scalability of fine-grained locks, by solving two technical problems related to optimized assignment of locks to critical sections. The first problem, Minimum Lock Assignment (MLA), addresses the problem of finding the minimum number of locks needed to enforce mutual exclusion among interfering critical sections without any loss of concurrency. The second problem, K-Lock Allocation (K-LA) addresses the problem of allocating a fixed number (K) of locks to critical sections so as to minimize the serialization overhead.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Minimum Lock Assignment: A Method for Exploiting Concurrency among Critical Sections

In this paper we propose a lock assignment technique to simplify the mutual exclusion enforcement in multithreaded programs. Programmers are allowed to annotate the regions of code that are expected to be mutually exclusive as critical sections, without using explicit locks. The compiler then automatically infers an assignment of the minimum number of locks to critical sections by solving the M...

متن کامل

University of Delaware Department of Electrical and Computer Engineering Computer Architecture and Parallel Systems Laboratory A New Framework for Analysis and Optimization of Shared Memory Parallel Programs

In this paper we present a new framework for analysis and optimization of shared memory parallel programs. Our framework is based on two key concepts: (1) concurrency relation and (2) isolation semantics. Two statements are said to be concurrent if there is an execution in which two threads can execute the two statements simultaneously. Isolation semantics essentially treats critical sections a...

متن کامل

Sable Research Group Component - Based Lock Allocation

The choice of lock objects in concurrent programs can affect both performance and correctness, a burden of complexity for programmers. Recently, various automated lock allocation and assignment techniques have been proposed, each aiming primarily to minimize the number of conflicts between critical sections. However, practical performance depends on a number of important factors, including the ...

متن کامل

Atomic Section: Concept and Implementation

ABSTRACT A key source of complexity in parallel programming arises from ne-grained synchronization. In the shared memory programming language OpenMP, mutual exclusion for shared data access is achieved by critical sections or locks. The critical section degrades the performance by serializing all critical section instances through a global lock, and impedes a scalable parallelism by the underly...

متن کامل

Static Lock Allocation

The allocation of lock objects to critical sections in concurrent programs affects both performance and correctness. Traditionally, this allocation is done manually by the programmer. Recent work explores automatic lock allocation, aiming primarily to minimize conflicts and maximize parallelism by allocating locks to individual critical sections. We investigate several modes of lock allocation,...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006